package cn.t.dto.device;

import cn.t.dto.device.group.CloseGroup;
import cn.t.dto.device.vo.WeightVO;
import cn.t.enums.YesOrNoEnum;
import cn.t.runtime.dto.RuntimeRequest;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 开关门数据接收
 * @author l
 * @create 2024/7/1 19:21
 */
@Data
public class CabinetHandlingOCDTO  extends RuntimeRequest implements Serializable {

    /**
     * 工单号
     */
    private String workOrderSn;
    /**
     * 订单号
     */
    @NotNull(message = "单号不能为空",groups = CloseGroup.class)
    private String orderSn;

    /**
     * 超额领用强制提交。1： 是    0：否
     */
    @NotNull(message=" 不能为空",groups = CloseGroup.class)
    private YesOrNoEnum overPickupCommit;
    /**
     * 年月日
     */
    @NotNull(message="recordAt不能为空")
    private String recordAt;

    /**
     * 重力领料数据
     */
    @JsonProperty(value = "data")
    @NotEmpty(message="货道数据不能为空")
    @Valid
    private List<WeightVO> scale;
    /**
     *  请求流水号
     */
    private String requestId;

    /**
     * 成本中心
     */
    private Long costCenterId;
    /**
     * 成本中心
     */
    private String  costCenterName;
}
